#pragma once

// Copyright (c) 2010 Manuel Peinado Gallego <manuel.peinado@gmail.com>
// Distributed under the MIT license

#include <alg3d/alg3d.h>
class Ray;

class Line
{
public:
    Line(const gx::Vec3 & o, const gx::Vec3 & d);
    
    gx::Vec3 origin;
    gx::Vec3 direction; // unit vector

    gx::Vec3 proj_pnt(const gx::Vec3 & p) const;
};


//double rayLineDistance(const Ray & pickRay, const Line & line, std::pair<gx::Vec3,gx::Vec3> & closestPnts);